package com.tesisutn.restsoft.persistencia.implementaciones.dominio;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.tesisutn.restsoft.dominio.articulo.LugarDePreparacion;
import com.tesisutn.restsoft.dominio.pedido.Pedido;
import com.tesisutn.restsoft.dominio.pedido.estadosDetalle.EstadoDetalleDePedido;
import com.tesisutn.restsoft.persistencia.implementaciones.base.PersistenciaJPA;
import com.tesisutn.restsoft.persistencia.interfaces.dominio.PersistenciaPedido;

@Repository
public class PersistenciaPedidoImp extends PersistenciaJPA<Pedido> implements PersistenciaPedido{
		
	public PersistenciaPedidoImp() {
		super(Pedido.class);
	}

	@Override
	@Transactional(readOnly = true)
	public List<Pedido> getPedidosAbiertosQueTenganDetallesConEstado(
			EstadoDetalleDePedido estado, LugarDePreparacion lugar) {
		Query query = entityManager.createQuery("select a from Pedido a");
		return query.getResultList();
	}	
}